package com.ltf.entity;

import java.util.Date;

/**
 * Cart类表示购物车实体，包含购物车的基本信息。
 * 该类提供了对购物车属性的封装以及访问和修改这些属性的方法。
 */
public class Cart {
    private int id;       // 购物车记录的唯一标识符
    private int uid;      // 用户ID，标识购物车所属用户
    private int bookid;   // 图书ID，标识购物车中的图书
    private int num;      // 图书数量，表示购物车中该图书的数量
    private double price; // 图书单价，表示购物车中该图书的价格
    private Date tcreate; // 创建时间，记录购物车记录的创建时间

    /**
     * 无参构造函数，用于创建Cart对象。
     * 在对象创建时会打印一条调试信息。
     */
    public Cart() {
        System.out.println("Cart...无参构造...");
    }

    /**
     * 获取购物车记录的唯一标识符。
     *
     * @return 返回购物车记录的ID。
     */
    public int getId() {
        return id;
    }

    /**
     * 设置购物车记录的唯一标识符。
     *
     * @param id 要设置的购物车记录ID。
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * 获取购物车所属用户的ID。
     *
     * @return 返回购物车所属用户的ID。
     */
    public int getUid() {
        return uid;
    }

    /**
     * 设置购物车所属用户的ID。
     *
     * @param uid 要设置的用户ID。
     */
    public void setUid(int uid) {
        this.uid = uid;
    }

    /**
     * 获取购物车中图书的ID。
     *
     * @return 返回购物车中图书的ID。
     */
    public int getBookid() {
        return bookid;
    }

    /**
     * 设置购物车中图书的ID。
     *
     * @param bookid 要设置的图书ID。
     */
    public void setBookid(int bookid) {
        this.bookid = bookid;
    }

    /**
     * 获取购物车中图书的数量。
     *
     * @return 返回购物车中图书的数量。
     */
    public int getNum() {
        return num;
    }

    /**
     * 设置购物车中图书的数量。
     *
     * @param num 要设置的图书数量。
     */
    public void setNum(int num) {
        this.num = num;
    }

    /**
     * 获取购物车中图书的单价。
     *
     * @return 返回购物车中图书的单价。
     */
    public double getPrice() {
        return price;
    }

    /**
     * 设置购物车中图书的单价。
     *
     * @param price 要设置的图书单价。
     */
    public void setPrice(double price) {
        this.price = price;
    }

    /**
     * 获取购物车记录的创建时间。
     *
     * @return 返回购物车记录的创建时间。
     */
    public Date getTcreate() {
        return tcreate;
    }

    /**
     * 设置购物车记录的创建时间。
     *
     * @param tcreate 要设置的创建时间。
     */
    public void setTcreate(Date tcreate) {
        this.tcreate = tcreate;
    }

    /**
     * 重写toString方法，返回购物车对象的字符串表示形式。
     * 字符串包含购物车的所有属性及其值。
     *
     * @return 返回购物车对象的字符串表示形式。
     */
    @Override
    public String toString() {
        return "Cart{" +
                "id=" + id +
                ", uid=" + uid +
                ", bookid=" + bookid +
                ", num=" + num +
                ", price=" + price +
                ", tcreate=" + tcreate +
                '}';
    }
}
